package org.springblade.modules.customer.criteria;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.mp.query.QueryCondition;
import org.springblade.core.mp.query.QueryConditionEnum;

/**
 * 客户表查询条件
 *
 * @author armyant
 * @since 2024-04-21
 */
@Data
@Api(tags = "客户表", value = "查询条件")
public class CustomerCriteria {

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "头像", example = "like^=^张三", notes = "全：like^=^张三")
	private String avatar;

	@QueryCondition({QueryConditionEnum.EQ})
	@ApiModelProperty(value = "生日", example = "eq^=^1234", notes = "等于：eq#^=^324234")
	private String birthday;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "客户编号", example = "like^=^张三", notes = "全：like^=^张三")
	private String code;

	@QueryCondition({QueryConditionEnum.EQ})
	@ApiModelProperty(value = "创建时间", example = "eq^=^1234", notes = "等于：eq#^=^324234")
	private String createTime;

	@QueryCondition({QueryConditionEnum.EQ, QueryConditionEnum.IN})
	@ApiModelProperty(value = "客户所属公海", example = "eq^=^1234", notes = "等于：eq^=^1,包含：in^=^2,3,4")
	private String customerGroup;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "客户详情", example = "like^=^张三", notes = "全：like^=^张三")
	private String detail;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "邮箱", example = "like^=^张三", notes = "全：like^=^张三")
	private String email;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "身份证号码", example = "like^=^张三", notes = "全：like^=^张三")
	private String idCard;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "客户标签，以json格式存储", example = "like^=^张三", notes = "全：like^=^张三")
	private String label;

	@QueryCondition({QueryConditionEnum.EQ, QueryConditionEnum.IN})
	@ApiModelProperty(value = "客户级别（参考数据字典level_dict）", example = "eq^=^1234", notes = "等于：eq^=^1,包含：in^=^2,3,4")
	private String levelDict;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "手机", example = "like^=^张三", notes = "全：like^=^张三")
	private String mobile;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "客户座机", example = "like^=^张三", notes = "全：like^=^张三")
	private String phone;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "备注", example = "like^=^张三", notes = "全：like^=^张三")
	private String remark;

	@QueryCondition({QueryConditionEnum.EQ, QueryConditionEnum.IN})
	@ApiModelProperty(value = "性别", example = "eq^=^1234", notes = "等于：eq^=^1,包含：in^=^2,3,4")
	private String sex;

	@QueryCondition({QueryConditionEnum.EQ, QueryConditionEnum.IN})
	@ApiModelProperty(value = "状态（参考数据字典status_dict）", example = "eq^=^1234", notes = "等于：eq^=^1,包含：in^=^2,3,4")
	private String statusDict;

	@QueryCondition(QueryConditionEnum.LIKE)
	@ApiModelProperty(value = "租户ID", example = "like^=^张三", notes = "全：like^=^张三")
	private String tenantId;

	@QueryCondition({QueryConditionEnum.EQ})
	@ApiModelProperty(value = "修改时间", example = "eq^=^1234", notes = "等于：eq#^=^324234")
	private String updateTime;

	@QueryCondition({QueryConditionEnum.EQ, QueryConditionEnum.IN})
	@ApiModelProperty(value = "修改人", example = "eq^=^1234", notes = "等于：eq^=^1,包含：in^=^2,3,4")
	private String updateUser;

}
